Programming often relies on combining functions in data pipelines. The monad is a design pattern which makes pipelines with effect much easier to write and maintain. Monads are often explained using haskell in complicated ways but I tried here to simply explain the pattern with javascript to build an intuition of them.